export interface OrderVO {
  /**
   * 订单唯一ID
   */
  id: string | number;

  /**
   * 订单编号（唯一）
   */
  orderNo: string;

  /**
   * 订单类型：1-发货单，2-进货单，3-报价单，4-销售单，5-采购单，6-对账单，7-退货单，8-物流单
   */
  orderType: number;

  /**
   * 应收/应付金额（发货单=应收，进货单=应付）
   */
  amount: number;

  /**
   * 优惠金额
   */
  discountAmount: number;

  /**
   * 实收/实付金额（amount - discount_amount）
   */
  actualAmount: number;

  /**
   * 结算状态：1-未结，2-部分结，3-结清（“结算模式”开启时生效）
   */
  settleStatus: number;

  /**
   * 图片凭证（多个URL用逗号分隔，如付款凭证）
   */
  voucherImgs: string;

  /**
   * 签名
   */
  signature: string;

  /**
   * 备注（支持快捷备注）
   */
  remark: string;

  /**
   * 标签ID（企业版，预留）
   */
  tagId: string | number;

  /**
   * 地址关联id
   */
  addressId: string | number;

  /**
   * 收单方-客户ID（关联bi_customer.id，与supplier_id二选一）
   */
  customerId: string | number;

  /**
   * 客户姓名
   */
  customerName: string;

  /**
   * 客户联系人姓名
   */
  customerContactName: string;

  /**
   * 客户电话
   */
  customerPhone: string;

  /**
   * 客户地址
   */
  customerAddress: string;

  /**
   * 客户类型(1. customer,2. supplier)
   */
  customerType: string;

  /**
   * 开单方主体ID（关联bi_subject.id）
   */
  companyId: string | number;

  /**
   * 主体名称
   */
  companyName: string;

  /**
   * 主体联系人名称
   */
  companyContactName: string;

  /**
   * 主体地址
   */
  companyAddress: string;

  /**
   * 主体联系电话
   */
  companyPhone: string;

  /**
   * 开单人ID（关联bi_employee.id）
   */
  creatorId: string | number;
}

export interface OrderForm extends BaseEntity {
  /**
   * 订单唯一ID
   */
  id?: string | number;

  /**
   * 订单编号（唯一）
   */
  orderNo?: string;

  /**
   * 订单类型：1-发货单，2-进货单，3-报价单，4-销售单，5-采购单，6-对账单，7-退货单，8-物流单
   */
  orderType?: number;

  /**
   * 应收/应付金额（发货单=应收，进货单=应付）
   */
  amount?: number;

  /**
   * 优惠金额
   */
  discountAmount?: number;

  /**
   * 实收/实付金额（amount - discount_amount）
   */
  actualAmount?: number;

  /**
   * 结算状态：1-未结，2-部分结，3-结清（“结算模式”开启时生效）
   */
  settleStatus?: number;

  /**
   * 图片凭证（多个URL用逗号分隔，如付款凭证）
   */
  voucherImgs?: string;

  /**
   * 签名
   */
  signature?: string;

  /**
   * 备注（支持快捷备注）
   */
  remark?: string;

  /**
   * 标签ID（企业版，预留）
   */
  tagId?: string | number;

  /**
   * 地址关联id
   */
  addressId?: string | number;

  /**
   * 收单方-客户ID（关联bi_customer.id，与supplier_id二选一）
   */
  customerId?: string | number;

  /**
   * 客户姓名
   */
  customerName?: string;

  /**
   * 客户联系人姓名
   */
  customerContactName?: string;

  /**
   * 客户电话
   */
  customerPhone?: string;

  /**
   * 客户地址
   */
  customerAddress?: string;

  /**
   * 客户类型(1. customer,2. supplier)
   */
  customerType?: string;

  /**
   * 开单方主体ID（关联bi_subject.id）
   */
  companyId?: string | number;

  /**
   * 主体名称
   */
  companyName?: string;

  /**
   * 主体联系人名称
   */
  companyContactName?: string;

  /**
   * 主体地址
   */
  companyAddress?: string;

  /**
   * 主体联系电话
   */
  companyPhone?: string;

  /**
   * 开单人ID（关联bi_employee.id）
   */
  creatorId?: string | number;
}

export interface OrderQuery extends PageQuery {
  /**
   * 订单编号（唯一）
   */
  orderNo?: string;

  /**
   * 订单类型：1-发货单，2-进货单，3-报价单，4-销售单，5-采购单，6-对账单，7-退货单，8-物流单
   */
  orderType?: number;

  /**
   * 应收/应付金额（发货单=应收，进货单=应付）
   */
  amount?: number;

  /**
   * 优惠金额
   */
  discountAmount?: number;

  /**
   * 实收/实付金额（amount - discount_amount）
   */
  actualAmount?: number;

  /**
   * 结算状态：1-未结，2-部分结，3-结清（“结算模式”开启时生效）
   */
  settleStatus?: number;

  /**
   * 图片凭证（多个URL用逗号分隔，如付款凭证）
   */
  voucherImgs?: string;

  /**
   * 签名
   */
  signature?: string;

  /**
   * 标签ID（企业版，预留）
   */
  tagId?: string | number;

  /**
   * 地址关联id
   */
  addressId?: string | number;

  /**
   * 收单方-客户ID（关联bi_customer.id，与supplier_id二选一）
   */
  customerId?: string | number;

  /**
   * 客户姓名
   */
  customerName?: string;

  /**
   * 客户联系人姓名
   */
  customerContactName?: string;

  /**
   * 客户电话
   */
  customerPhone?: string;

  /**
   * 客户地址
   */
  customerAddress?: string;

  /**
   * 客户类型(1. customer,2. supplier)
   */
  customerType?: string;

  /**
   * 开单方主体ID（关联bi_subject.id）
   */
  companyId?: string | number;

  /**
   * 主体名称
   */
  companyName?: string;

  /**
   * 主体联系人名称
   */
  companyContactName?: string;

  /**
   * 主体地址
   */
  companyAddress?: string;

  /**
   * 主体联系电话
   */
  companyPhone?: string;

  /**
   * 开单人ID（关联bi_employee.id）
   */
  creatorId?: string | number;

  /**
   * 日期范围参数
   */
  params?: any;
}
